home *** CD-ROM | disk | FTP | other *** search
/ Interactive Media Design Review 1999 / Interactive Media Design Review 1999.iso / pc / Demos / Herois / Codigo.Cst / 00021_Script_Anima Sprite c- Preambulo < prev    next >
Text File  |  1999-03-19  |  2KB  |  65 lines

  1. property memberPrim, memberUlt -- Cast members que serao animados
  2. property memPrim, memQuantos -- Membros: em numero
  3. property espera -- Tempo de espera entre cada mudanca (em ticks) 
  4. property aleatorio -- True para mudanca aleatoria
  5. property ultimaTroca -- Hora em que foi feita ultima troca
  6. property fotoAtual
  7. property imagensPreambulo
  8.  
  9. on getBehaviorDescription
  10.   return "Anima sprites"
  11. end
  12.  
  13. on getPropertyDescriptionList
  14.   set p_list = [ ¼
  15.     #memberPrim: [ #comment:   "Primeiro membro da animacao", ¼
  16.                     #format:   #string, ¼
  17.                    #default:   "" ], ¼
  18.     #memberUlt: [ #comment:   "Ultimo membro da animacao", ¼
  19.                     #format:   #string, ¼
  20.                    #default:   "" ], ¼
  21.     #imagensPreambulo: [ #comment:   "Numero de imagens de preambulo", ¼
  22.                     #format:   #integer, ¼
  23.                    #default:   0 ], ¼
  24.     #espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",¼
  25.                       #format: #integer,¼
  26.                      #default: 60 ],¼
  27.     #aleatorio: [ #comment: "Animacao randomica",¼
  28.                       #format: #boolean,¼
  29.                      #default: false ]¼
  30.   ]
  31.   return p_list
  32. end
  33.  
  34. on beginSprite me
  35.   set memPrim to the number of member memberPrim
  36.   set memQuantos to (the number of member memberUlt) - memPrim + 1
  37.   put 0 into fotoAtual
  38. end
  39.  
  40. on cleanSprite me
  41.   puppetSprite (the spriteNum of me),false
  42. end 
  43.  
  44. on idleSprite me
  45.   global gMustUpdate
  46.   
  47.   -- Testa se ja e' hora de trocar figura
  48.   if (the timer - ultimaTroca) > espera then
  49.     
  50.     -- Descobre qual a proxima figura a trocar
  51.     if (aleatorio) then
  52.       put random(memQuantos - 1 - imagensPreambulo) - 1 + imagensPreambulo into tmp
  53.       if tmp >= fotoAtual then put 1 + tmp into tmp
  54.       put tmp into fotoAtual
  55.     else
  56.       put fotoAtual + 1 into fotoAtual
  57.       if fotoAtual >= memQuantos then put imagensPreambulo into fotoAtual
  58.     end if
  59.     
  60.     -- Muda figura e updateStage
  61.     set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
  62.     set gMustUpdate to true
  63.     put the timer into ultimaTroca
  64.   end if
  65. end